package cn.miju.unionpay.model;

import lombok.Data;

/**
 * <pre>
 * 收款方附加数据
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-17 16:42
 */
@Data
public class AcqAddnData {
    /**
     * 订单信息(JSON字符串)
     * 订单明细内容，如订单标题、订单描述等
     * cn.miju.unionpay.model.AcqAddnData.OrderInfo
     */
    private String orderInfo;
    /**
     * 商品信息(JSON字符串)
     * 商品明细内容
     * cn.miju.unionpay.model.AcqAddnData.GoodsInfo
     */
    private String goodsInfo;

    @Data
    public static class OrderInfo {
        /**
         * 订单标题
         */
        private String title;
        /**
         * 订单描述
         */
        private String description;
        /**
         * 可优惠金额
         * 当前订单可以参与优惠计算的金额
         */
        private Integer dctAmount;
        /**
         * 附加信息
         * 内容自定义
         */
        private String addnInfo;
    }

    @Data
    public static class GoodsInfo {
        /**
         * 商品编号
         */
        private String id;
        /**
         * 商品名称
         */
        private String name;
        /**
         * 商品单价
         */
        private Integer price;
        /**
         * 商品数量
         * 交易上传的特定商品编码的商品数量；
         * 退货交易中表示特定商品编码需要进行退货的商品数量
         */
        private Integer quantity;
        /**
         * 商品类目
         */
        private Integer category;
        /**
         * 附加信息
         * 内容自定义
         */
        private String addnInfo;
    }

}
